package com.film.cinema.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.film.common.core.domain.entity.SysDept;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.film.common.annotation.Excel;
import com.film.common.core.domain.BaseEntity;

/**
 * 艺人管理对象 actor
 * 
 * *@author fy
 * @date 2025-02-13
 */
@Data
public class Actor extends BaseEntity
{

    private static final long serialVersionUID = 1L;

    /** 演员id */
    private Long id;

    /** 演员姓名 */
    @Excel(name = "演员姓名")
    private String name;
    @Excel(name = "部门id")
    private Integer deptId;
    /** 性别 */
    @Excel(name = "性别")
    private String sex;
    /** 头像*/
    @Excel(name = "演员头像")
    private  String actImage;
    /** 身高 */
    @Excel(name = "身高")
    private Long height;

    /** 体重 */
    @Excel(name = "体重")
    private Long weight;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 国籍 */
    @Excel(name = "国籍")
    private String nationality;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativeplace;

    /** 经历 */
    @Excel(name = "经历")
    private String experience;

    /** 技能 */
    @Excel(name = "技能")
    private String skill;

    /** 代表作品 */
    @Excel(name = "代表作品")
    private String masterpiece;

    /** 工作状态 */
    @Excel(name = "工作状态")
    private String jobstatus;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private String contracttype;

    /** 合同开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractbegindate;

    /** 合同结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractoverdate;

    /** 是否有经纪人 */
    @Excel(name = "是否有经纪人")
    private String ifbroker;

    /** 经纪人姓名 */
    @Excel(name = "经纪人姓名")
    private String broker;

    /** 经纪人联系方式 */
    @Excel(name = "经纪人联系方式")
    private String brokerphone;

    /** 其他联系方式 */
    @Excel(name = "其他联系方式")
    private String otherphone;

    /** 备注 */
    @Excel(name = "备注")
    private String notes;
    // 添加 dept 属性及其 getter 和 setter 方法
    private SysDept dept;
//    public void setId(Long id)
//    {
//        this.id = id;
//    }
//
//    public Long getId()
//    {
//        return id;
//    }
//    public void setName(String name)
//    {
//        this.name = name;
//    }
//
//    public String getName()
//    {
//        return name;
//    }
//    public void setSex(String sex)
//    {
//        this.sex = sex;
//    }
//
//    public String getSex()
//    {
//        return sex;
//    }
//    public void setHeight(Long height)
//    {
//        this.height = height;
//    }
//
//    public Long getHeight()
//    {
//        return height;
//    }
//    public void setWeight(Long weight)
//    {
//        this.weight = weight;
//    }
//
//    public Long getWeight()
//    {
//        return weight;
//    }
//    public void setBirthday(Date birthday)
//    {
//        this.birthday = birthday;
//    }
//
//    public Date getBirthday()
//    {
//        return birthday;
//    }
//    public void setNationality(String nationality)
//    {
//        this.nationality = nationality;
//    }
//
//    public String getNationality()
//    {
//        return nationality;
//    }
//    public void setNation(String nation)
//    {
//        this.nation = nation;
//    }
//
//    public String getNation()
//    {
//        return nation;
//    }
//    public void setNativeplace(String nativeplace)
//    {
//        this.nativeplace = nativeplace;
//    }
//
//    public String getNativeplace()
//    {
//        return nativeplace;
//    }
//    public void setExperience(String experience)
//    {
//        this.experience = experience;
//    }
//
//    public String getExperience()
//    {
//        return experience;
//    }
//    public void setSkill(String skill)
//    {
//        this.skill = skill;
//    }
//
//    public String getSkill()
//    {
//        return skill;
//    }
//    public void setMasterpiece(String masterpiece)
//    {
//        this.masterpiece = masterpiece;
//    }
//
//    public String getMasterpiece()
//    {
//        return masterpiece;
//    }
//    public void setJobstatus(String jobstatus)
//    {
//        this.jobstatus = jobstatus;
//    }
//
//    public String getJobstatus()
//    {
//        return jobstatus;
//    }
//    public void setContracttype(String contracttype)
//    {
//        this.contracttype = contracttype;
//    }
//
//    public String getContracttype()
//    {
//        return contracttype;
//    }
//    public void setContractbegindate(Date contractbegindate)
//    {
//        this.contractbegindate = contractbegindate;
//    }
//
//    public Date getContractbegindate()
//    {
//        return contractbegindate;
//    }
//    public void setContractoverdate(Date contractoverdate)
//    {
//        this.contractoverdate = contractoverdate;
//    }
//
//    public Date getContractoverdate()
//    {
//        return contractoverdate;
//    }
//    public void setIfbroker(String ifbroker)
//    {
//        this.ifbroker = ifbroker;
//    }
//
//    public String getIfbroker()
//    {
//        return ifbroker;
//    }
//    public void setBroker(String broker)
//    {
//        this.broker = broker;
//    }
//
//    public String getBroker()
//    {
//        return broker;
//    }
//    public void setBrokerphone(String brokerphone)
//    {
//        this.brokerphone = brokerphone;
//    }
//
//    public String getBrokerphone()
//    {
//        return brokerphone;
//    }
//    public void setOtherphone(String otherphone)
//    {
//        this.otherphone = otherphone;
//    }
//
//    public String getOtherphone()
//    {
//        return otherphone;
//    }
//    public void setNotes(String notes)
//    {
//        this.notes = notes;
//    }
//
//    public String getNotes()
//    {
//        return notes;
//    }
// 新增的 dept 属性的 getter 和 setter 方法
    public SysDept getDept() {
        return dept;
    }

    public void setDept(SysDept dept) {
        this.dept = dept;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("dept_id", getDeptId())
            .append("sex", getSex())
            .append("actimage",getActImage())
            .append("height", getHeight())
            .append("weight", getWeight())
            .append("birthday", getBirthday())
            .append("nationality", getNationality())
            .append("nation", getNation())
            .append("nativeplace", getNativeplace())
            .append("experience", getExperience())
            .append("skill", getSkill())
            .append("masterpiece", getMasterpiece())
            .append("jobstatus", getJobstatus())
            .append("contracttype", getContracttype())
            .append("contractbegindate", getContractbegindate())
            .append("contractoverdate", getContractoverdate())
            .append("ifbroker", getIfbroker())
            .append("broker", getBroker())
            .append("brokerphone", getBrokerphone())
            .append("otherphone", getOtherphone())
            .append("notes", getNotes())
            .toString();
    }
}
